package org.baderlab.csplugins.enrichmentmap.view.heatmap.table; import java.awt.Font; import java.text.DecimalFormat; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.SwingConstants; import javax.swing.UIManager; public class ColorAndValueRenderer extends ColorRenderer { private final DecimalFormat format = new DecimalFormat("###.##"); @Override public JLabel getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col) { JLabel label = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col); if(value instanceof Double && Double.isFinite((Double)value)) { String text = format.format((Double)value); label.setText(text); label.setFont(new Font((UIManager.getFont("TableHeader.font")).getName(), Font.PLAIN, (UIManager.getFont("TableHeader.font")).getSize()-2)); label.setHorizontalAlignment(SwingConstants.RIGHT); } return label; } }